<?php

session_cache_limiter("nocache");
require_once('../utilidades/ConexionBD.php');

class MaeSorteo {

    function __construct() {}

    public static function selectAllHTMLTableFormat($numPagina, $registrosPorPagina, $campoFiltroOrden, $valorFiltro) {
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('selectAll', '" . $numPagina . "|" . $registrosPorPagina . "|" . $campoFiltroOrden . "|" . $valorFiltro . "', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);";
        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);

        if (!$res) {
            echo str_replace("ERROR:", "", pg_last_error(ConexionBD::get()->conectarse()));
            return null;
        }

        $html = "";
        while ($row = pg_fetch_array($res)) {
            $html = $html . "<tr id='" . $row["@id"] . "'>";
            $html = $html . "<td><a href='#' class='link_editar'>" . $row["@nombreSorteo"] . "</a></td>";
            $html = $html . "<td>" . $row["@inicioSorteo"] . "</td>";
            $html = $html . "<td>" . $row["@finSorteo"] . "</td>";
            $html = $html . "<td>" . $row["@valorSorteo"] . "</td>";
            $html = $html . "<td><b>" . ($row["@activo"] === "t" ? "<span style='color: rgb(14,51,22)'>SI</span>" : "<span style='color: rgb(184,35,35)'>NO</span>" ) . "</b></td>";
            $html = $html . "<td><img class='icon-remove' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'></td>";
            $html = $html . "</tr>";
        }

        ConexionBD::get()->desconectarse();

        return $html;
    }

    public static function insert($codUsuario, $nombreMaeSorteo,
            $inicioSorteo, $finalSorteo, $valorSorteo, $activo) {
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('insert', " #@OP
                . "NULL, " #@paramAux
                . "NULL, " #@id
                . "NULL, " #@fechaGrab
                . "'" . $codUsuario . "', " #@usuarioGrab
                . "'" . (($activo) ? 'true' : 'false') . "', "
                . "'" . $nombreMaeSorteo . "', "
                . "'" . $inicioSorteo . "', "
                . "'" . $finalSorteo . "', "
                . "'" . $valorSorteo . "');";
        
        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);
        if (!$res) {
            return json_encode(
                    array("ERROR" => str_replace(
                                "ERROR:", "", pg_last_error(
                                        ConexionBD::get()->conectarse())
                        )
                    )
            );
        }
        ConexionBD::get()->desconectarse();

        while ($row = pg_fetch_array($res))
            return json_encode(array("id" => $row["@id"]));

        return json_encode(array("id" => "0"));
    }

    public static function selectById($id) {
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('selectById', " #@OP
                . "NULL, " #@paramAux 
                . $id . ", "
                . "NULL, " #@fechaGrab
                . "NULL, " #@usuarioGrab
                . "NULL, " #@activo
                . "NULL, " #@codMaeSorteo
                . "NULL, " #@nombreMaeSorteo
                . "NULL, " 
                . "NULL);"; #@descripcion

        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);
        if (!$res) {
            return json_encode(
                    array("ERROR" => str_replace(
                                "ERROR:", "", pg_last_error(
                                        ConexionBD::get()->conectarse())
                        )
                    )
            );
        }
        ConexionBD::get()->desconectarse();

        while ($row = pg_fetch_array($res)) {
            $list = array(
                "id" => $row["@id"],
                "fechaGrab" => $row["@fechaGrab"],
                "usuarioGrab" => $row["@usuarioGrab"],
                "activo" => $row["@activo"],
                "nombreSorteo" => $row["@nombreSorteo"],
                "inicioSorteo" => $row["@inicioSorteo"],
                "finSorteo" => $row["@finSorteo"],
                "valorSorteo" => $row["@valorSorteo"]
            );
            return json_encode($list);
        }
        return json_encode("");
    }

    public static function update($codUsuario, $activo, $id, $nombreMaeSorteo, 
            $inicioSorteo, $finalSorteo, $valorSorteo) {
        if ($id === 0) {
            return;
        }
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('update', " #@OP
                . "NULL, " #@paramAux
                . $id . ", "
                . "NULL, " #@fechaGrab
                . "'" . $codUsuario . "', " #@usuarioGrab
                . "'" . (($activo) ? 'true' : 'false') . "', "
                . "'" . $nombreMaeSorteo . "', "
                . "'" . $inicioSorteo . "', "
                . "'" . $finalSorteo . "', "
                . "'" . $valorSorteo . "');";

        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);
        if (!$res) {
            return json_encode(
                    array("ERROR" => str_replace(
                                "ERROR:", "", pg_last_error(
                                        ConexionBD::get()->conectarse())
                        )
                    )
            );
        }
        ConexionBD::get()->desconectarse();
        return json_encode("");
    }

    public static function delete($codUsuario, $id) {
        if ($id == 0) {
            return;
        }
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('delete', " #@OP
                . "NULL, " #@paramAux 
                . $id . ", "
                . "NULL, " #@fechaGrab
                . "'" . $codUsuario . "', "
                . "NULL, "
                . "NULL, "
                . "NULL, "
                . "NULL, "
                . "NULL);";
        
        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);
        if (!$res) {
            return json_encode(
                    array("ERROR" => str_replace(
                            "ERROR:", "", pg_last_error(
                                    ConexionBD::get()->conectarse())
                            )
                        )
                    );
        }
        ConexionBD::get()->desconectarse();
        return json_encode("");
    }
    
    public static function selectAllHTMLSelectFormat() {
        $consulta = "SELECT * FROM \"FuncMaeSorteo\"('selectAll', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);";
        @$res = pg_query(ConexionBD::get()->conectarse(), $consulta);

        if (!$res) {
            echo str_replace("ERROR:", "", pg_last_error(ConexionBD::get()->conectarse()));
            return "null";
        }

        $html = "<option value=''>Seleccionar</option>";
        while ($row = pg_fetch_array($res)) {
            $html = $html . "<option value='" . $row["@id"] . "'>" . $row["@nombreSorteo"] . "</option>";
        }

        ConexionBD::get()->desconectarse();
        return $html;
    }
}